<script setup>
import { customRef, watchEffect } from 'vue'

// 创建自定义 ref
function myRef(initialValue) {
  return customRef((track, trigger) => {
    let value = initialValue

    return {
      get() {
        // 追踪依赖（告诉 Vue 这个值被使用了）
        track()
        return value
      },
      set(newValue) {
        value = newValue
        // 触发更新（告诉 Vue 这个值变了，需要更新依赖）
        trigger()
      }
    }
  })
}

// 使用自定义 ref
const custom = myRef('hello')

// 监听变化
watchEffect(() => {
  console.log('当前值:', custom.value)
})

// 修改值 - 会触发更新
custom.value = 'world'  // 输出: 当前值: world
</script>

<template>

</template>

<style scoped>

</style>